package cn.exrick.xboot.modules.base.dao.mapper;

import cn.exrick.xboot.modules.base.entity.Role;
import cn.exrick.xboot.modules.base.entity.User;
import cn.exrick.xboot.modules.base.entity.UserRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * @author Exrickx
 */
public interface UserRoleMapper extends BaseMapper<UserRole> {

    /**
     * 通过用户id获取
     * @param userId
     * @return
     */
    List<Role> findByUserId(@Param("userId") String userId);

    /**
     * njp add 20201109 portal二期
     * 通过用户id和角色类型（管理员/普通）获取
     * @param userId
     * @return
     */
    List<Role> findByUserIdAndType(@Param("userId") String userId,@Param("type") Integer type);
    /**
     * 通过用户id获取用户角色关联的部门数据
     * @param userId
     * @return
     */
    List<String> findDepIdsByUserId(@Param("userId") String userId);



    /**
     * 通过用户身份证号获取用户名
     * @return
     * 2019.08.02
     */
    String  findUsernameByIdCard(@Param("idcard") String idcard);
    /**
     * njp
     * 通过权限id获取用户名
     * @return
     * 2019.10.09
     */
    List<User>  findUsernamesByRoleId(@Param("roleId") String roleId);

    /**
     * 通过用户名获取手机号
     * @return
     * 2019.08.05
     */
    String  findMobileByName(@Param("mobile") String mobile);

    Integer IsWxUser(@Param("map") Map<String,Object> map);

    /**
     * 通过roleId查询user
     * @param userRole
     * @return
     */
    List<UserRole> findUserRoleByRoleId(UserRole userRole);


    /**
     * 通过userId查询user
     * @param userRole
     * @return
     */
    List<UserRole> findUserRoleByUserId(UserRole userRole);
}
